package com.region.plugin;

/**
 * Continued execution category
 *
 * @author liujieyu
 * @date 2023/5/23 20:15
 * @desciption
 */
public abstract class ProceedPoint {

    /**
     * Proxy Execution Class
     */
    protected Object proxy;

    /**
     * Parameters when executing methods
     */
    protected Object[] args;

    public ProceedPoint(Object proxy, Object[] args) {
        this.proxy = proxy;
        this.args = args;
    }

    /**
     * Continue executing the proxy method
     *
     * @return The result of execute
     * @throws Throwable
     */
    public abstract Object proceed() throws Throwable;

}
